package com.titanrise.crm.domain.vo.response;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @Description: 统一返回数据类
 * @Author: pront
 * @Time:2024-11-21 08:18
 */
@Data
@Accessors(chain = true)
public class ResponseData<T>  implements Serializable {

    /**
     * 状态码
     */
    private Integer code;

    /**
     * 返回信息
     */
    private String message;

    /**
     * 返回数据
     */
    private T data;

    /**
     * 成功返回结果
     */
    public static <T> ResponseData<T> success(T data) {
        return new ResponseData<T>()
                .setCode(200)
                .setMessage("success")
                .setData(data);
    }

    /**
     * 失败返回结果
     */
    public static <T> ResponseData<T> error(String message) {
        return new ResponseData<T>()
                .setCode(500)
                .setMessage(message);
    }
}
